package com.tengju.bff.interfaces.covercharge.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tengju.bff.interfaces.covercharge.entity.po.ServiceWithdarwCycleAdd;
import com.tengju.bff.interfaces.covercharge.entity.vo.PersonalGiveQuery;
import com.tengju.bff.interfaces.covercharge.entity.vo.PlayWithConfirmationPreviewVo;
import com.tengju.bff.interfaces.covercharge.entity.vo.ServiceWithdarwCycleAddQueryVO;
import com.tengju.bff.interfaces.covercharge.entity.vo.ServiceWithdarwCycleAddVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 服务费体现周期累计表 Mapper 接口
 * </p>
 *
 * @author zhaoyi
 * @since 2020-02-24
 */
public interface ServiceWithdarwCycleAddMapper extends BaseMapper<ServiceWithdarwCycleAdd> {

    /**
     * 服务费提现金额异常数据列表
     * @param page page
     * @param serviceWithdarwCycleAddQueryVO serviceWithdarwCycleAddQueryVO
     * @return page
     */
    IPage<ServiceWithdarwCycleAddVO> checkErrorPage(Page page
            , @Param("serviceWithdarwCycleAddQueryVO") ServiceWithdarwCycleAddQueryVO serviceWithdarwCycleAddQueryVO);

    /**
     * 获取sum金额,依据list
     * @return page
     * @param cycleAddIdList
     */
    List<ServiceWithdarwCycleAdd> getTotalAmountWithList(@Param("cycleAddIdList") List<Integer> cycleAddIdList);

    /**
     * 获取sum金额,依据list
     * @return page
     */
    ServiceWithdarwCycleAdd getByCycleAddId(@Param("cycleAddId") Integer cycleAddId);

    List<PlayWithConfirmationPreviewVo> getTotalAmountWithAll(@Param("personalGiveQuery") PersonalGiveQuery personalGiveQuery);

}
